 <!DOCTYPE html>
<html>
<head>
  <title>Контейнерные клипы</title>
  <link rel="stylesheet" href="style.css">
<script src="toc.js" type="text/javascript"></script>
</head>

<body>

<div id="content">
<img src="header_text_5.png">

<script src="tocgen.js"></script>

<div id="toccontent">

<div class="subject-header">Контейнерные клипы</div>



<div id="toc"></div>

<h2>Определение контейнерного клипа</h2>
<p>
<b>Контейнерный клип</b> — это медиаэлемент и созданный на его основе клип монтажного стола состоящий из трёх компонентов, упакованных вместе в единый объект: <i>программа, несобранное медиа</i> и <i>собранное медиа</i>.
</p>
<h3>Компоненты</h3>
<ol>
<li><b>Несобранное медиа</b> — несобранное на монтажном столе медиа, которое не отображается в окне просмотра.</li>
<li><b>Программа</b> — данные о сборке клипа на монтажном столе, иногда использующие несобранное медиа в качестве входного материала.</li>
<li><b>Собранное медиа</b> — собранное на монтажном столе медиа, которое отображается в окне просмотра.</li>
</ol>
<h2>Обоснование</h2>
<ul>
<li><b>Производительность</b> 
<p>Контейнерные клипы предоставляют средства для преобразования ресурсоёмких элементов мультимедиа, таких как последовательность клипов, в собранные медиа</p>
</li>
<li><b>Управление ресурсами</b> <p>Например, проектами Blender и сценариями G'Mic можно управлять благодаря их доступности через контейнеры.</p></li>
<li><b>Расширение возможностей</b> <p>Существующие технологии и приложения могут быть созданы для обеспечения функциональности, недоступной в противном случае. В будущем будет больше событий в этой области.</p></li>
<li><b>Взаимообмен</b> <p>В будущем будет создан центральный репозиторий для совместного использования ресурсов контейнерных клипов.</p></li>
</ul>
<h2>Рабочий процесс</h2>
<ol>
<li>Создание контейнерного клипа через меню <b>Проект → Создать контейнерный клип</b>.</li>
<li>Правка контейнерного клипа осуществляется щелчком по нему правой кнопкой мыши и выбором <b>Править данные контейнерного клипа</b> если данные доступны.</li>
<li>Добавление контейнерного клипа на монтажный стол.</li>
<li>Сборка и управление контейнерными клипами на монтажном столе осуществляется щелчком по нему правой кнопкой мыши и выбором подменю <b>Действия с контейнерным клипом</b>.</li>
</ol>

<h2>Типы контейнерных клипов</h2>
<h3>Контейнерный клип из сценария G'Mic</h3>

<h5>Компоненты</h5>
<p>
<ul style="list-style-type:none">
<li><b>Несобранное медиа</b> — видеоклип.</li>
<li><b>Программа</b> — сценарий G'Mic созданный и сохранённый в инструменте G'Mic.</li>
<li><b>Собранное медиа</b> — собранный клип с применённым эффектом G'Mic.</li>
</ul>
</p>
<p>
<h5>Случаи использования</h5>
<ul>
<li>Сборка эффектов G'Mic только на участках клипов, используемых на монтажном столе.</li>
<li>Упрощение использования одного пользовательского эффекта G'Mic для нескольких клипов.</li>
</ul>

<h5>Создание контейнерного клипа из сценария G'Mic</h5>

<ol>
<li>Откройте <b>инструмент G'Mic</b>.</li>
<li>Создайте сценарий эффекта G'Mic. См. раздел <b>Эффекты G'Mic</b> в главе <b>Автономные инструменты</b>.</li>
<li>Нажмите на кнопку <b>Сохранить сценарий</b> в левом нижнем углу и сохраните эффект.</li>
<li>Выберите в меню <b>Проект → Создать контейнерный клип → из сценария G'Mic</b>.</li>
<li>Выберите сценарий, который вы сохранили и клип, к которому он будет применён для создания контейнера.</li>
</ol>

<h3>Контейнерный клип из проекта Blender</h3>
<h5>Компоненты</h5>

<p>
<ul style="list-style-type:none">
<li><b>Несобранное медиа</b> — заполнитель видеоклипа, созданный при создании элемента медиа.</li>
<li><b>Программа</b> — файл проекта с расширением *blend.</li>
<li><b>Собранное медиа</b> — клип собранный из файла проекта.</li>
</ul>
</p>
<h5>Случаи использования</h5>
<ul>
<li>Управление проектами Blender, с помощью дескрипторов Flowblade.</li>
<li>Создание редакторов в проектах Blender, чтобы иметь возможность правки свойств в Flowblade</li>
<li>Возможность внесения изменений и обмена интересными проектами Blender. Например, приятными текстовыми эффектами.</li>
</ul>

<h5> Создание контейнерного клипа из проекта Blender</h5>

<ol>
<li>Выберите в меню <b>Проект → Создать контейнерный клип → из проекта Blender</b> и выберите файл проекта Blender с расширением <i>.blend</i>.</li>
<li>При необходимости отредактируйте значения проекта Blender см. раздел <b>Правка контейнерной программы</b>.</li>
</ol>

<h3>Создание контейнерного клипа из выбранного</h3>
<h5>Компоненты</h5>
<p>
<ul style="list-style-type:none">
<li><b>Несобранное медиа</b> видеоклип MLT XML, созданный из выбранных клипов или последовательности, подобной составным клипам ранее.</li>
<li><b>Программа</b> видеоклип MLT XML, созданный из выбранных клипов или последовательности, подобной составным клипам ранее. Здесь программа та же, что в несобранных медиа </li>
<li><b>Собранное медиа</b> Собранный клип из видеоклипа MLT XML.</li>
</ul>
</p>
<h5>Случаи использования</h5>

<ul>
<li>Возможность создания медиаэлементов из выбранных клипов или последовательностей.</li>
<li>Улучшение производительности монтажного стола для сложных многодорожечных контейнерных клипов, с предварительной их сборкой на монтажном столе.</li>
</ul>

<h5>Создание контейнерного клипа из выбранного</h5>

<ol>
<li> Выберите от двух до нескольких соседних клипов на одной дорожке.</li>
<li> Выберите <b>Проект → Создать контейнерный клип → Из выбранных клипов</b>.</li>
<li> Новый элемент медиа появится в текущей корзине.</li>
</ol>

<h5>Создание контейнерного клипа из последовательности</h5>

<ol>
<li> Выберите Проект → Создать контейнерный клип → Из текущей последовательности</b>.</li>
<li> Новый элемент медиа появится в текущей корзине.</li>
</ol>

<h5> Синхронизация звука слиянием 2 клипов</h5>

<ol>
<li> Выберите два элемента мультимедиа во вкладке Медиа.</b>
	<ul>
	<li> Предполагается, что вы выберете <b>1 видео и 1 звуковой клип</b>.</li>
	<li> При выборе <b>двух видеоклипов</b>, в зависимости от порядка выбора, один видеоклип будет обработан как видео, другой как звук.
	<li> Звук в клипе, обработанном как видео, отключится.</li>
	</ul>
</li>
<li> Выберите <b>Проект → Создать контейнерный клип → Синхронизация звука слиянием 2 клипов.</b></li>
<li> Если звуковая синхронизация прошла успешно, появится диалоговое окно. В диалоговом окне, присвойте имя новому элементу медиа.</li>
<li> Новый элемент медиа появится в текущей корзине.</li>
</ol>

<div class="note">
Во время звуковой синхронизации идёт поиск на наилучшее математическое соответствие между двумя звуковыми сигналами, поэтому <b>использование несоответствующего звука приведёт к случайным результатам</b>.
</div>

<h2>Создание редакторов в контейнерной программе Blender</h2>

<p>
В контейнерных клипах Blender можно создавать и добавлять редакторы, которые позволяют пользователям изменять клип на выходе.
</p>
<p>
Функция использует Blender Python API и запускает сценарий перед выводом данных для изменения значений атрибутов объектов сцены Blender
</p>
<p>
Это продвинутая функция, требующая практических знаний по написанию сценариев с использованием Python API Blender.
</p>

<h4>Редактируемые объекты</h4>
<p>
В настоящее время, для редактирования, доступно три типа объекта:
</p>
<ul>
<li> <b>Объекты</b> — это объекты  словаря <b>bpy.data.objects</b>, доступтные для сценария Python;</li>
<li> <b>Кривые</b> — это объекты  словаря <b>bpy.data.curves</b>, доступтные для сценария Python;</li>
<li> <b>Материалы</b> — это объекты  словаря  <b>bpy.data.materials</b>, доступтные для сценария Python.</li>
</ul>

<h4>Редакторы</h4>
<p>
В настоящее время, для редактирования атрибутов объектов, доступны пять различных типов редакторов:
</p>
<ul>
<li> Редактор <b>строк</b> выводит строку в кавычках в сценарии запуска;</li>
<li> Редактор <b>целого числа</b> выводит целое число в сценарии запуска;</li>
<li> Редактор <b>плавающей</b>  выводит число с плавающей запятой в сценарии запуска;</li>
<li> Редактор <b>цвета</b> выводит последовательность из 4 чисел, разделённых запятыми, которые определяют цвет;</li>
<li> Редактор <b>значений</b> выводит строку без кавычек в сценарии запуска. Это может быть использовано в качестве значения для любого атрибута.</li>
</ul>

<h3>Пример</h3>
<p>
В этом примере мы создаём редакторы <b>строк</b> и <b>цвета</b> для изменения текста и цвета, отображаемых в проекте Blender.
</p>
<h4>Шаг 1: Установка имён объектов и атрибутов с помощью сценария Blender</h4>
<p>
<img src="blender_script.png">
</p>
<p>
<i>Панель сцен и сценариев Blender с открытым тестовым проектом.</i>
</p>
<p>
Здесь мы установили, что:
</p>
<ul>
<li>нам нужно изменить атрибут <b>body</b> объекта <b>bpy.data.curves["Title1"]</b> для написания текстовой строки;</li>
<li>нам нужно изменить атрибут <b>diffuse_color</b> объекта <b>bpy.data.materials["Title1.material"]</b> для установки цвета текста.</li>
</ul>
<h4>Шаг 2: Правка данных программы контейнерного клипа</h4>
<p>
С помощью этой информации вы сможете создавать редакторы, с помощью которых можно изменять текст и цвет клипов, представленных в данном проекте.
</p>
<ul>
<li>Создайте контейнерный клип из своего проекта Blender.</li>
<li>Щёлкните правой кнопкой мыши по созданному медиаэлементу и выберите «Править данные контейнерного клипа».</li>
<li>
<p>
Чтобы создать редактор текста, мы задаём следующие установки в диалоге, обратите внимание, как они соотносятся с предыдущей информацией.
</p>
<p>
<img src="blender_string_editor.png">
</p>
</li>
<li>
<p>
Для создания редактора цвета, мы задаём следующие установки в диалоге.
</p>
<p>
<img src="blender_color_editor.png">
</p>
</li>
<li>
<p>
Не забывайте нажимать <b>Добавить редактор</b>, чтобы сохранять данные в качестве редактора.
</p>
</li>
</ul>
<h4>Шаг 3: Установка значений клипа на монтажном столе</h4>
<ul>
<li>Переместите клип на монтажный стол.</li>
<li>
<p>Щёлкните правой кнопкой мыши по клипу и выберите <b>Действия с контейнерным клипом → Править контейнерную программу</b>. Измените данные в диалоговом окне.</p>
<img src="blender_clip_editor.png">
</li>
</ul>
<div class="note">
<h4>Сценарий запуска</h4>
<p>Редакторы в этом примере создают строки кода приведённые ниже, которые устанавливают значения атрибутов в сценарии lauch перед началом сборки.</p>


<p>
<i>
obj = bpy.data.curves["Title1"]
</i>
</p>
<p>
<i>
obj.body = "Снова здрасте!"
</i>
</p>
<p>
<i>
obj = bpy.data.materials["Title1.Material"]
</i>
</p>
<p>
<i>
obj.diffuse_color = 1.0, 1.0, 1.0, 1.0
</i>
</p>
</div>

</div>
</div>

</body>

</html> 
